let arr = [2, 4, 7, 3, 1, 6, 5]


// function bubble(arr) {
//     let n = arr.length
//     for (var i = 0; i < n; i++) {
//         let flag = false
//         for (var j = 0; j < n - 1 - i; j++) {
//             if (arr[j] > arr[j + 1]) {
//                 [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]
//                 flag = true
//             }
//         }
//         if (!flag) return arr
//     }
//     return arr
// }


// function bubble(arr) {
//     for (var i = 0; i < arr.length; i++) {
//         for (var j = i + 1; j < arr.length; j++) {
//             if (arr[j] < arr[i]) {
//                 [arr[i], arr[j]] = [arr[j], arr[i]]
//             }
//         }
//     }
//     return arr
// }

function bubble(arr) {
    for (var i = 0; i < arr.length; i++) {
        let min = getMin(arr.slice(i))
        let minIndex = arr.indexOf(min)  // 重复项
        // [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]
        let flag = arr[i]
        arr[i] = arr[minIndex]
        arr[minIndex] = flag
    }
    return arr
}
function getMin(arr) {
    let min = Infinity
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] < min) {
            min = arr[i]
        }
    }
    return min
}
console.log(bubble(arr));
